package com.tungse.mongoTest.domain;

import com.github.houbb.data.factory.api.annotation.DataFactory;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.util.Date;

/**
 * Comment 实体类，用于映射MongoDB中的 list001 集合。
 */
@Data
@Document(collection = "list001")
public class Comment {

    /**
     * MongoDB文档的唯一标识符，作为主键使用。
     */
    @Id
    @DataFactory(ignore=true)
    private String id;

    /**
     * 文章的唯一标识符，用于关联评论和文章。
     */
    @Field("article_id")
    private String articleId;

    /**
     * 用户发表的评论文本内容。
     */
    private String content;
    private String content1;
    /**
     * 发表评论的用户唯一标识符。
     */
    @Field("user_id")
    private String userId;

    /**
     * 发表评论的用户昵称，用于显示在评论列表中。
     */
    private String nickname;

    /**
     * 评论创建的时间，格式通常为ISO日期时间格式。
     */
    @Field("create_time")
    private Date createTime;

    /**
     * 评论获得的点赞数量，反映评论的受欢迎程度。
     */
    @Field("like_number")
    private Integer likeNumber;

    /**
     * 评论下方的回复数量，反映评论的互动程度。
     */
    @Field("reply_number")
    private Integer replyNumber;

    /**
     * 评论的可见状态，'0’表示评论不可见，'1’表示评论可见。
     */
    private String state;

    /**
     * 评论的上级评论ID，如果为’0’或空，则表示该评论是顶级评论，没有上级评论。
     */
    @Field("parent_id")
    private String parentId;

}





